/*
 *    Copyright (c) 2018-2025, cloud All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are met:
 *
 * Redistributions of source code must retain the above copyright notice,
 * this list of conditions and the following disclaimer.
 * Redistributions in binary form must reproduce the above copyright
 * notice, this list of conditions and the following disclaimer in the
 * documentation and/or other materials provided with the distribution.
 * Neither the name of the pig4cloud.com developer nor the names of its
 * contributors may be used to endorse or promote products derived from
 * this software without specific prior written permission.
 * Author: cloud
 */

package com.fuyao.cloud.space.entity;

import com.baomidou.mybatisplus.annotation.*;
import com.fuyao.cloud.common.core.model.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.time.LocalDate;

/**
 * 楼栋管理
 *
 * @author liyue
 * @date 2021-11-12 16:03:22
 */
@Data
@TableName("fy_room_edifice")
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "楼栋管理")
public class RoomEdifice extends BaseEntity<RoomEdifice> {

    private static final long serialVersionUID = 1L;
    @TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty("主键Id")
    private Long id;

	@ApiModelProperty(value="唯一编码(用于关联附件)")
	private String unid;

    /**
     * 使用状况{在用、出租出借、闲置、待处置（待报废、销毁）、已处置}
     */
    @ApiModelProperty(value="使用状况{在用、出租出借、闲置、待处置（待报废、销毁）、已处置}")
    private String status;

    /**
     * 所属区域id
     */
    @ApiModelProperty(value="所属区域id")
    private Long regionalId;

    /**
     * 所属区域
     */
    @TableField(condition = SqlCondition.LIKE)
    @ApiModelProperty(value="所属区域")
    private String regionalMc;

    /**
     * 所属区域全编码
     */
    @ApiModelProperty(value="所属区域全编码")
    private String regionalFullcode;

    /**
     * 楼栋名称
     */
    @TableField(condition = SqlCondition.LIKE)
    @ApiModelProperty(value="楼栋名称")
    private String name;

    /**
     * 楼栋编号(自动编码按照对应的区域从1开始自动增长)
     */
    @TableField(condition = SqlCondition.LIKE)
    @ApiModelProperty(value="楼栋编号(自动编码按照对应的区域从1开始自动增长)")
    private String code;

    /**
     * 资产编码
     */
    @ApiModelProperty(value="资产编码")
    private String assetNumber;

    /**
     * 楼栋座落
     */
    @ApiModelProperty(value="楼栋座落")
    private String location;

    /**
     * 取得方式
     */
    @ApiModelProperty(value="取得方式")
    private String acquireWay;

    /**
     * 使用年限
     */
    @ApiModelProperty(value="使用年限")
    private String usefulLife;

    /**
     * 实际用途
     */
    @TableField(condition = SqlCondition.LIKE)
    @ApiModelProperty(value="实际用途")
    private String practicalUse;

    /**
     * 批准用途
     */
    @ApiModelProperty(value="批准用途")
    private String permittedUse;

    /**
     * 权属证号
     */
    @ApiModelProperty(value="权属证号")
    private String ownershipNumber;

    /**
     * 权属证明
     */
    @ApiModelProperty(value="权属证明")
    private String ownershipProve;

    /**
     * 权属性质
     */
    @ApiModelProperty(value="权属性质")
    private String ownershipType;

    /**
     * 取得日期
     */
    @ApiModelProperty(value="取得日期")
    private LocalDate builddate;

    /**
     * 发证时间
     */
    @ApiModelProperty(value="发证时间")
    private LocalDate issuingDate;

    /**
     * 资金来源
     */
    @ApiModelProperty(value="资金来源")
    private String sourcesFunds;

    /**
     * 计量单位
     */
    @ApiModelProperty(value="计量单位")
    private String measureUnit;

    /**
     * 竣工日期
     */
    @ApiModelProperty(value="竣工日期")
    private LocalDate completionDate;

    /**
     * 建筑结构{钢混结构、钢筋混凝土结构、现浇框架结构、砖混结构、装配式}
     */
    @ApiModelProperty(value="建筑结构{钢混结构、钢筋混凝土结构、现浇框架结构、砖混结构、装配式}")
    private String buildingStructure;

    /**
     * 抗震级别{一级、二级、三级、四级}
     */
    @ApiModelProperty(value="抗震级别{一级、二级、三级、四级}")
    private String seismicGrade;

    /**
     * 地上层数
     */
    @ApiModelProperty(value="地上层数")
    private String upFloor;

    /**
     * 地下层数
     */
    @ApiModelProperty(value="地下层数")
    private String downFloor;

    /**
     * 地上面积
     */
    @ApiModelProperty(value="地上面积")
    private String upArea;

    /**
     * 地下面积
     */
    @ApiModelProperty(value="地下面积")
    private String downArea;

    /**
     * 总层数
     */
    @ApiModelProperty(value="总层数")
    private String floorcount;

    /**
     * 占地面积
     */
    @ApiModelProperty(value="占地面积")
    private String coveredArea;

    /**
     * 建筑面积
     */
    @ApiModelProperty(value="建筑面积")
    private String floorage;

    /**
     * 资产来源{划拨、捐赠、租用、自建、购买}
     */
    @ApiModelProperty(value="资产来源{划拨、捐赠、租用、自建、购买}")
    private String sourceAssets;

    /**
     * 投入使用日期
     */
    @ApiModelProperty(value="投入使用日期")
    private LocalDate useDate;

    /**
     * 数据权限编码，从区域开始一直按着全编码按照表之间的依赖一直延续下去
     */
    @ApiModelProperty(value="数据权限编码，从区域开始一直按着全编码按照表之间的依赖一直延续下去")
    private String dataCode;

    /**
     * 排序号
     */
    @ApiModelProperty(value="排序号")
    private Integer ordernumber;

    /**
     * 经度
     */
    @ApiModelProperty(value="经度")
    private String x;

    /**
     * 纬度
     */
    @ApiModelProperty(value="纬度")
    private String y;

    /**
     * 备注
     */
    @ApiModelProperty(value="备注")
    private String remarks;

}
